
#ifndef __USBD_CDC_IMPLEMENT_H
#define __USBD_CDC_IMPLEMENT_H

#ifdef __cplusplus
extern "C" {
#endif

#include "usbd_common.h"

extern USBD_CDC_HandleTypeDef CDCHandler;

void CDC_Implement_Setup_Class_Interface(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req);

uint8_t CDC_Implement_DataIn(USBD_HandleTypeDef *pdev, uint8_t epnum);
uint8_t CDC_Implement_DataOut(USBD_HandleTypeDef *pdev, uint8_t epnum);
uint8_t CDC_Implement_EP0_RxReady(USBD_HandleTypeDef *pdev);

void CDC_Implement_Endpoint_Open(USBD_HandleTypeDef *pdev);
void CDC_Implement_Endpoint_Close(USBD_HandleTypeDef *pdev);

#ifdef __cplusplus
}
#endif

#endif  /* __USBD_CDC_IMPLEMENT_H */
